home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / COMMUNIC / H191.ZIP / CA29-3.EXE / HOST.CMD < prev    next >
OS/2 REXX Batch file  |  1993-07-14  |  7KB  |  455 lines

  1. LEGE "Scripted HOST mode (1.2).     Press ESC to exit."
  2. S20="_PARM"(11:14)*","*"_PARM"(0:3)
  3. S21="ATE0Q0V1X1S0=2 S7=30 S9=10^M"
  4. S22="****"
  5. S23="xxxx"
  6. S24=""
  7. SET PARI NONE
  8. SET DATA 8
  9. SET STOP 1
  10. SET MASK ON
  11. SET CR_I CR_L
  12. SET ASCI UP_L LF
  13. SET SOFT ON
  14. IF ISSC "HOSTDAT" FCALL "HOSTDAT"
  15. S0=S22
  16. S3=S23
  17. SUBD S29
  18. DLDI S28
  19. LOG MARK ON
  20. CLOG "* Host script loaded"
  21. ON ESCA GOSU End
  22. SET INAF OFF
  23. SET ALAR OFF
  24. SET ATIM 1
  25. SET PORT S20(0:3)
  26. IF ISFILE "HOSTTEMP.STR" and ISFILE "HOSTTEMP.BAT"
  27. SET RECH ON
  28. DELE "HOSTTEMP.STR"
  29. LOG OPEN "HOSTLOG"
  30. CLOG "* Return from drop-to-DOS"
  31. GOTO Main_Pro
  32. ENDI
  33. SET BAUD S20(5:8)
  34. TRAN "_MESCAPE"
  35. GOTO Restart
  36. End:
  37. HANG
  38. CLOG "* HOST script terminated"
  39. SET DLDI S28
  40. CHDI S29
  41. CLEA
  42. MESS "HOST terminated... type Alt-X to exit COM-AND^M^J^M^J"
  43. TRAN "_MINIT"
  44. RESE
  45. DELE "\HOSTTEMP.TXT"
  46. IF ISSC "$$$SCHED" EXECUTE "$$$SCHED"
  47. EXIT
  48. Read_Com:
  49. S9=""
  50. N27=0
  51. SET RMOD BINA
  52. RCOM100:
  53. SET TIME
  54. WHIL NOT RECEIVE and NOT HITKEY
  55. IF NOT CONNECTED GOTO RCOM500
  56. TSIN N28,N29,N30
  57. IF NOT ZERO N28 or N29 GT 3 GOTO RCOM400
  58. ENDW
  59. IF RECEIVE
  60. RGET S27 1 180
  61. IF FIND S27 "^M" GOTO RCOM300
  62. GOTO RCOM200
  63. ENDI
  64. IF HITKEY
  65. KEYG S27
  66. IF FIND S27(0:1) "0d"
  67. TRAN "!"
  68. GOTO RCOM300
  69. ENDI
  70. IF FIND S27(0:1) "08"
  71. ITOC 8 S27
  72. S27(1:79)=""
  73. ENDI
  74. LENG S27 N28
  75. IF N28 GT 1
  76. SOUN 100,400
  77. GOTO RCOM100
  78. ENDI
  79. IF NOT (FIND S27 "^H" and N27 EQ 0) TRANS S27
  80. CURS N28 N29
  81. ATSA N28 N29 (text) S27
  82. IF FIND S27 "^H"
  83. IF N27 GT 0 DEC N29
  84. ELSE
  85. INC N29
  86. ENDI
  87. LOCA N28 N29
  88. ENDI
  89. RCOM200:
  90. IF FIND S27(0:0) "^H"
  91. IF ZERO N27 GOTO RCOM100
  92. DEC N27
  93. IF N27 GT 0
  94. S9=S9(0:N27-1)
  95. ELSE
  96. S9=""
  97. ENDI
  98. GOTO RCOM100
  99. ENDI
  100. S9=S9*S27
  101. INC N27
  102. IF N27 LT 80 GOTO RCOM100
  103. RCOM300:
  104. FIND S9 "NO CARRIER"
  105. IF FOUND GOTO RCOM500
  106. SET RMOD ASCI
  107. SET FLAG(0) OFF
  108. RETU
  109. RCOM400:
  110. TRAN "^M^J... autodisconnect due to timeout^M^J"
  111. MESS "^M^J... autodisconnect due to timeout"
  112. GOTO RComm_Ex
  113. RCOM500:
  114. MESS "^M^JCaller disconnected"
  115. RComm_Ex:
  116. SET RMOD ASCI
  117. SET FLAG(0) ON
  118. RETU
  119. Restart:
  120. CHDI S29
  121. SET RECH OFF
  122. SET RDIS OFF
  123. CLEA
  124. LOCA 0,0
  125. IF NOT ISSC "$$$SCHED"
  126. HANG
  127. MESS "^M^JWaiting...!"
  128. PAUS 3
  129. ENDI
  130. SET BAUD S20(5:8)
  131. TRAN S21
  132. WAIT_IT_:
  133. RGET S9 80 180
  134. IF NOT SUCCESS GOTO Wait_IT_Out
  135. FIND S9 "NO CARRIER"
  136. IF FOUND GOTO Exit
  137. FIND S9 "CONNECT"
  138. IF NOT FOUND GOTO WAIT_IT_OUT
  139. GOSU AutoBaud
  140. PAUS 2
  141. RFLU
  142. TRAN "^M^JThe Flying Scotsman greets you!!^M^J"
  143. SET RECH ON
  144. SET RDIS ON
  145. LOG OPEN "HOSTLOG"
  146. ID_Query:
  147. MESS "^M^JID prompt: "
  148. TRAN "^M^JEnter your ID: "
  149. GOSU Read_Com
  150. IF FLAG(0) GOTO Exit
  151. SWIT S9
  152. CASE "_NULL"
  153. TRAN "You must be someone^M^J"
  154. GOTO Exit
  155. ENDC
  156. ENDS
  157. CLOG "* Host mode logon by "*S9
  158. TRAN "^M^JEnter your password: "
  159. LOG SUSP
  160. SET RECH OFF
  161. SET RDIS OFF
  162. GOSU Read_Com
  163. IF FLAG(0) GOTO Exit
  164. LOG RESU
  165. SET RECH ON
  166. SET RDIS ON
  167. SWIT S9
  168. CASE S0
  169. TRAN "^M^J"
  170. ENDC
  171. DEFA
  172. TRAN "Sorry , but you're not authorized."
  173. GOTO Exit
  174. ENDC
  175. ENDS
  176. Main_Pro:
  177. MESS "^M^JMain prompt: "
  178. TRAN "^M^JC)hdir F)ilelist, P)athlist, U)pload, D)ownload, or E)xit: "
  179. GOSU Read_Com
  180. IF FLAG(0) GOTO Exit
  181. SWIT S9
  182. CASE "C"
  183. GOTO CHDIR
  184. ENDC
  185. CASE "D"
  186. GOTO DOWNLOAD
  187. ENDC
  188. CASE "E"
  189. TRAN "Ok... bye^M^J"
  190. GOTO EXIT
  191. ENDC
  192. CASE "F"
  193. GOTO FILELIST
  194. ENDC
  195. CASE "P"
  196. GOTO PATHLIST
  197. ENDC
  198. CASE "U"
  199. GOTO UPLOAD
  200. ENDC
  201. CASE "X"
  202. GOTO DOS
  203. ENDC
  204. CASE "Y"
  205. GOTO DROPDOS
  206. ENDC
  207. CASE "OFF"
  208. TRAN "Ok... bye^M^J"
  209. GOTO EXIT
  210. ENDC
  211. DEFA
  212. IF FIND S9 "CHDIR" GOTO CHRIR
  213. IF FIND S9 "DOWN" GOTO DOWNLOAD
  214. IF FIND S9 "FILE" GOTO FILELIST
  215. IF FIND S9 "PATH" GOTO PATHLIST
  216. IF FIND S9 "UP" GOTO UPLOAD
  217. IF FIND S9 "DOS" GOTO DOS
  218. TRAN "^M^JCommand not recognized... try again"
  219. GOTO Main_Pro
  220. ENDC
  221. ENDS
  222. TRAN "^M^JThank you veddy much.^M^J"
  223. GOTO Main_Pro
  224. EXIT:
  225. CLOG "* Host mode exit"
  226. LOG CLOS
  227. MESS "^G"
  228. IF ISSC "$$$SCHED" GOTO End
  229. GOTO Restart
  230. File_Que:
  231. MESS "^M^JFname query: "
  232. TRAN "^M^JEnter the file name: "
  233. GOSU Read_Com
  234. IF FLAG(0) RETURN
  235. ASSI S8 S9
  236. SWIT S8
  237. CASE "_NULL"
  238. SET FLAG(1) ON
  239. RETU
  240. ENDC
  241. ENDS
  242. SET FLAG(1) OFF
  243. RETU
  244. UPLOAD:
  245. MESS "^M^JUpload from caller"
  246. GOSU File_Que
  247. IF FLAG(0) GOTO Exit
  248. IF FLAG(1) GOTO Main_Prompt
  249. IF ISFILE S8
  250. TRAN "^M^JFile already exists"
  251. GOTO UPLOAD
  252. ENDI
  253. MESS "!Method prompt: "
  254. TRAN "^M^JW)xmodem, X)modem, Y)modem (X1k), Z)modem, or K)ermit: "
  255. GOSU Read_Com
  256. IF FLAG(0) GOTO Main_prompt
  257. SWIT S9
  258. CASE "W"
  259. GETF WXMODEM S8
  260. ENDC
  261. CASE "X"
  262. GETF XMODEM S8
  263. ENDC
  264. CASE "Y"
  265. GETF YMODEM S8
  266. ENDC
  267. CASE "Z"
  268. GETF ZMODEM
  269. ENDC
  270. CASE "K"
  271. GETF KERMIT
  272. ENDC
  273. DEFA
  274. TRAN "^M^JInvalid transfer selection"
  275. GOTO Main_Pro
  276. ENDC
  277. ENDS
  278. GOTO EOTransf
  279. DOWNLOAD:
  280. MESS "^M^JDownload to caller"
  281. GOSU File_Que
  282. IF FLAG(0) GOTO Exit
  283. IF FLAG(1) GOTO Main_Prompt
  284. IF NOT ISFILE S8
  285. TRAN "^M^JFile doesn't exist"
  286. GOTO DOWNLOAD
  287. ENDI
  288. MESS "^M^JMethod prompt "
  289. TRAN "^MW)xmodem, X)modem, Y)modem (X1k), Z)modem, K)ermit, or A)scii: "
  290. GOSU Read_Com
  291. IF FLAG(0) GOTO Main_Prompt
  292. SWIT S9
  293. CASE "A"
  294. SEND ASCII S8
  295. ENDC
  296. CASE "W"
  297. SEND WXMODEM S8
  298. ENDC
  299. CASE "X"
  300. SEND XMODEM S8
  301. ENDC
  302. CASE "Y"
  303. SEND YMODEM S8
  304. ENDC
  305. CASE "Z"
  306. SEND ZMODEM S8
  307. ENDC
  308. CASE "K"
  309. SEND KERMIT S8
  310. ENDC
  311. DEFA
  312. TRAN "^M^JInvalid transfer selection"
  313. GOTO Main_Pro
  314. ENDC
  315. ENDS
  316. GOTO EOTransf
  317. EOTRANSF:
  318. IF NOT SUCCESS
  319. MESS "^M^JTransfer failed"
  320. ELSE
  321. MESS "^M^JTransfer OK"
  322. ENDI
  323. GOTO Main_Pro
  324. FILELIST:
  325. MESS "^M^JFilelist command: "
  326. TRAN "^M^J Working..."
  327. DOS "DIR >HOSTTEMP.TXT"
  328. TRAN "^M^J"
  329. SEND ASCII "HOSTTEMP.TXT"
  330. TRAN "^M^J"
  331. DOS "DEL HOSTTEMP.TXT"
  332. GOTO Main_Pro
  333. CHDIR:
  334. MESS "^M^JCHDIR Command: "
  335. TRAN "^M^JEnter the drive:subdirectory: "
  336. GOSU Read_Com
  337. IF FLAG(0) GOTO Main_Prompt
  338. CHDI S9
  339. GOTO Main_Pro
  340. PATHLIST:
  341. MESS "^M^JPathlist command: "
  342. TRAN "^M^J Working..."
  343. DOS "Treed >HOSTTEMP.TXT"
  344. TRAN "^M^J"
  345. SEND ASCII "HOSTTEMP.TXT"
  346. TRAN "^M^J"
  347. DOS "DEL HOSTTEMP.TXT"
  348. GOTO Main_Pro
  349. DOS:
  350. GOSU DOSPSW
  351. IF FAILED GOTO Main_Prompt
  352. MESS "^M^JDOS Command: "
  353. TRAN "^M^JEnter the command: "
  354. GOSU Read_Com
  355. IF FLAG(0) GOTO Main_Prompt
  356. TRAN "^M^J Working..."
  357. CONC S9 ">HOSTTEMP.TXT"
  358. DOS S9
  359. TRAN "^M^J"
  360. SEND ASCII "HOSTTEMP.TXT"
  361. TRAN "^M^J"
  362. DOS "DEL HOSTTEMP.TXT"
  363. GOTO Main_Pro
  364. DOSPSW:
  365. MESS "^M^JRequesting DOS password"
  366. LOG SUSP
  367. SET RECH OFF
  368. SET RDIS OFF
  369. TRAN "^M^JEnter the DOS password: "
  370. GOSU Read_Com
  371. IF FLAG(0) GOTO DOSPERR
  372. LOG RESU
  373. SET RECH ON
  374. SET RDIS ON
  375. SWIT S9
  376. CASE S3
  377. TRAN "^M^J"
  378. ENDC
  379. DEFA
  380. TRAN "Sorry , but you're not authorized."
  381. GOTO DOSPERR
  382. ENDC
  383. ENDS
  384. LOG RESU
  385. SET SUCC ON
  386. RETU
  387. DOSPERR:
  388. LOG RESU
  389. SET SUCC OFF
  390. RETU
  391. DROPDOS:
  392. IF NULL S24
  393. TRAN "^M^JCommand not recognized... try again"
  394. GOTO Main_Pro
  395. ENDI
  396. GOSU DOSPSW
  397. IF FAILED GOTO Main_Prompt
  398. FOPENO "HOSTTEMP.BAT" TEXT
  399. IF NOT SUCCESS
  400. TRAN "File error - cannot drop to DOS^M^J"
  401. GOTO Main_Pro
  402. ENDI
  403. WRIT "ECHO OFF!"
  404. S0=S24
  405. PRES S0
  406. WRIT S0
  407. WRIT "!"
  408. WRIT S29(0:1)*"!"
  409. IF NOT NULL S29(2:79) WRITE "CD "*S29(2:79)&"!"
  410. WRIT "COM-AND /q/p/fHOST!"
  411. WRIT "^Z"
  412. FCLOSEO
  413. STOR STRING "HOSTTEMP.STR"
  414. CLOG "* Drop-to-DOS"
  415. SET TTHR OFF
  416. STAC CLEAR
  417. STAC "HOSTTEMP.BAT!"
  418. BYE
  419. AutoBaud:
  420. IF FIND "_DDOVER" "ON" RETURN
  421. IF FIND S9 "1200"
  422. SET BAUD 1200
  423. RETU
  424. ENDI
  425. IF FIND S9 "2400"
  426. SET BAUD 2400
  427. RETU
  428. ENDI
  429. IF FIND S9 "4800"
  430. SET BAUD 4800
  431. RETU
  432. ENDI
  433. IF FIND S9 "9600"
  434. SET BAUD 9600
  435. RETU
  436. ENDI
  437. IF FIND S9 "14400" or FIND S9 "14.4"
  438. SET BAUD 14k
  439. RETU
  440. ENDI
  441. IF FIND S9 "19200" or FIND S9 "19.2"
  442. SET BAUD 19k
  443. RETU
  444. ENDI
  445. IF FIND S9 "38400" or FIND S9 "38.4"
  446. SET BAUD 38k
  447. RETU
  448. ENDI
  449. IF FIND S9 "57600" or FIND S9 "57.6"
  450. SET BAUD 57k
  451. RETU
  452. ENDI
  453. SET BAUD 300
  454. RETU
  455.